package com.itheima.controller;

import com.itheima.pojo.Result;
import com.itheima.utils.AliOSSUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**
 * 文件上传
 */
@RestController
@Slf4j
public class UploadController {

    @Autowired  // 注入工具类
    private AliOSSUtils aliOSSUtils;

    @PostMapping("/upload")
    public Result upload(MultipartFile image) throws IOException{

 // 直接调用AliOSSUtils工具类,上传文件到阿里云 OSS对象存储服务中
        String url = aliOSSUtils.upload(image);
        return Result.success(url);

    }

}





  /*      // 1.获取上传的文件名称
        String filename = image.getOriginalFilename();
        log.info("文件上传.filename={}",filename);

        // 问题1: 不同的人上传同名文件,会形成文件覆盖
        // 解决: 不使用用户上传的文件名,生成一个不重复的字符串作为新的文件名
        String uuid = UUID.randomUUID().toString();

        // 从用户上传的文件名中截取出后缀名
        int index = filename.lastIndexOf(".");
        String suffix = filename.substring(index);

        // 问题2: 文件过大问题
        // 解决:配置单个文件和请求中数据的大小上限

        // 2.将上传的文件保存到硬盘
        image.transferTo(new File("D:\\imgs",uuid+suffix));
        return Result.success();*/




